package daoBDDImpl;

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import utils.HibernateUtil;
import bean.Personne;
import dao.PersonneDao;

public class PersonneDaoBDDImpl extends HibernateDaoSupport implements PersonneDao {

	public PersonneDaoBDDImpl(){
		super();
		setSessionFactory(HibernateUtil.getSessionFactory());
	}
	
	
	@Override
	public void setPersonne(Personne personne) {
		getHibernateTemplate().saveOrUpdate(personne);
	}

	@Override
	public Personne getPersonne(long id) {
		return getHibernateTemplate().get(Personne.class, id);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Personne> getPersonneByClub(String club) {
		return getHibernateTemplate().findByNamedQueryAndNamedParam("getPersonneByClub","club", club);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Personne> getPersonneByPrenomAndNom(String prenom, String nom) {
		return getHibernateTemplate().findByNamedQueryAndNamedParam("getByPrenomAndNom",new String[]{"prenom","nom"},new String[]{prenom,nom});
	}
	
	@SuppressWarnings("unchecked")
	@Override
	public List<Personne> getAll(){
		return getHibernateTemplate().findByNamedQuery("getAllPersonne");
	}

	@Override
	public void delPersonne(Personne personne) {
		getHibernateTemplate().delete(personne);
	}
}
